/*
 * Copyright 2011 Katsunori Koyanagi
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package sweezy.swf.visitor
{
	import sweezy.swf.SWF;
	import sweezy.swf.action.code.ActionAdd;
	import sweezy.swf.action.code.ActionAdd2;
	import sweezy.swf.action.code.ActionAnd;
	import sweezy.swf.action.code.ActionAsciiToChar;
	import sweezy.swf.action.code.ActionBitAnd;
	import sweezy.swf.action.code.ActionBitLShift;
	import sweezy.swf.action.code.ActionBitOr;
	import sweezy.swf.action.code.ActionBitRShift;
	import sweezy.swf.action.code.ActionBitURShift;
	import sweezy.swf.action.code.ActionBitXor;
	import sweezy.swf.action.code.ActionCall;
	import sweezy.swf.action.code.ActionCallFunction;
	import sweezy.swf.action.code.ActionCallMethod;
	import sweezy.swf.action.code.ActionCastOp;
	import sweezy.swf.action.code.ActionCharToAscii;
	import sweezy.swf.action.code.ActionCloneSprite;
	import sweezy.swf.action.code.ActionConstantPool;
	import sweezy.swf.action.code.ActionDecrement;
	import sweezy.swf.action.code.ActionDefineFunction;
	import sweezy.swf.action.code.ActionDefineFunction2;
	import sweezy.swf.action.code.ActionDefineLocal;
	import sweezy.swf.action.code.ActionDefineLocal2;
	import sweezy.swf.action.code.ActionDelete;
	import sweezy.swf.action.code.ActionDelete2;
	import sweezy.swf.action.code.ActionDivide;
	import sweezy.swf.action.code.ActionEndDrag;
	import sweezy.swf.action.code.ActionEnumerate;
	import sweezy.swf.action.code.ActionEnumerate2;
	import sweezy.swf.action.code.ActionEquals;
	import sweezy.swf.action.code.ActionEquals2;
	import sweezy.swf.action.code.ActionExtends;
	import sweezy.swf.action.code.ActionGetMember;
	import sweezy.swf.action.code.ActionGetProperty;
	import sweezy.swf.action.code.ActionGetTime;
	import sweezy.swf.action.code.ActionGetURL;
	import sweezy.swf.action.code.ActionGetURL2;
	import sweezy.swf.action.code.ActionGetVariable;
	import sweezy.swf.action.code.ActionGoToLabel;
	import sweezy.swf.action.code.ActionGotoFrame;
	import sweezy.swf.action.code.ActionGotoFrame2;
	import sweezy.swf.action.code.ActionGreater;
	import sweezy.swf.action.code.ActionIf;
	import sweezy.swf.action.code.ActionImplementsOp;
	import sweezy.swf.action.code.ActionIncrement;
	import sweezy.swf.action.code.ActionInitArray;
	import sweezy.swf.action.code.ActionInitObject;
	import sweezy.swf.action.code.ActionJump;
	import sweezy.swf.action.code.ActionLess;
	import sweezy.swf.action.code.ActionLess2;
	import sweezy.swf.action.code.ActionMBAsciiToChar;
	import sweezy.swf.action.code.ActionMBCharToAscii;
	import sweezy.swf.action.code.ActionMBStringExtract;
	import sweezy.swf.action.code.ActionMBStringLength;
	import sweezy.swf.action.code.ActionModulo;
	import sweezy.swf.action.code.ActionMultiply;
	import sweezy.swf.action.code.ActionNewMethod;
	import sweezy.swf.action.code.ActionNewObject;
	import sweezy.swf.action.code.ActionNextFrame;
	import sweezy.swf.action.code.ActionNot;
	import sweezy.swf.action.code.ActionOr;
	import sweezy.swf.action.code.ActionPlay;
	import sweezy.swf.action.code.ActionPop;
	import sweezy.swf.action.code.ActionPreviousFrame;
	import sweezy.swf.action.code.ActionPush;
	import sweezy.swf.action.code.ActionPushDuplicate;
	import sweezy.swf.action.code.ActionRandomNumber;
	import sweezy.swf.action.code.ActionRemoveSprite;
	import sweezy.swf.action.code.ActionReturn;
	import sweezy.swf.action.code.ActionSetMember;
	import sweezy.swf.action.code.ActionSetProperty;
	import sweezy.swf.action.code.ActionSetTarget;
	import sweezy.swf.action.code.ActionSetTarget2;
	import sweezy.swf.action.code.ActionSetVariable;
	import sweezy.swf.action.code.ActionStackSwap;
	import sweezy.swf.action.code.ActionStartDrag;
	import sweezy.swf.action.code.ActionStop;
	import sweezy.swf.action.code.ActionStopSounds;
	import sweezy.swf.action.code.ActionStoreRegister;
	import sweezy.swf.action.code.ActionStrictEquals;
	import sweezy.swf.action.code.ActionStringAdd;
	import sweezy.swf.action.code.ActionStringEquals;
	import sweezy.swf.action.code.ActionStringExtract;
	import sweezy.swf.action.code.ActionStringGreater;
	import sweezy.swf.action.code.ActionStringLength;
	import sweezy.swf.action.code.ActionStringLess;
	import sweezy.swf.action.code.ActionSubtract;
	import sweezy.swf.action.code.ActionTargetPath;
	import sweezy.swf.action.code.ActionThrow;
	import sweezy.swf.action.code.ActionToInteger;
	import sweezy.swf.action.code.ActionToNumber;
	import sweezy.swf.action.code.ActionToString;
	import sweezy.swf.action.code.ActionToggleQuality;
	import sweezy.swf.action.code.ActionTrace;
	import sweezy.swf.action.code.ActionTry;
	import sweezy.swf.action.code.ActionTypeOf;
	import sweezy.swf.action.code.ActionUnknown;
	import sweezy.swf.action.code.ActionWaitForFrame;
	import sweezy.swf.action.code.ActionWaitForFrame2;
	import sweezy.swf.action.code.ActionWith;
	import sweezy.swf.structure.ABCData;
	import sweezy.swf.structure.ActionRecords;
	import sweezy.swf.structure.AlphaBitmapData;
	import sweezy.swf.structure.AlphaColorMapData;
	import sweezy.swf.structure.BevelFilter;
	import sweezy.swf.structure.BitmapData15;
	import sweezy.swf.structure.BitmapData24;
	import sweezy.swf.structure.BlurFilter;
	import sweezy.swf.structure.ButtonCondAction;
	import sweezy.swf.structure.ButtonRecord;
	import sweezy.swf.structure.CXForm;
	import sweezy.swf.structure.CXFormWithAlpha;
	import sweezy.swf.structure.ClipActionRecord;
	import sweezy.swf.structure.ClipActions;
	import sweezy.swf.structure.ClipEventFlags;
	import sweezy.swf.structure.ColorMapData;
	import sweezy.swf.structure.ColorMatrixFilter;
	import sweezy.swf.structure.ConvolutionFilter;
	import sweezy.swf.structure.CurvedEdgeRecord;
	import sweezy.swf.structure.DropShadowFilter;
	import sweezy.swf.structure.EndShapeRecord;
	import sweezy.swf.structure.FillStyle;
	import sweezy.swf.structure.FocalGradient;
	import sweezy.swf.structure.GlowFilter;
	import sweezy.swf.structure.GlyphEntry;
	import sweezy.swf.structure.Gradient;
	import sweezy.swf.structure.GradientBevelFilter;
	import sweezy.swf.structure.GradientGlowFilter;
	import sweezy.swf.structure.GradientRecord;
	import sweezy.swf.structure.Header;
	import sweezy.swf.structure.KerningRecord;
	import sweezy.swf.structure.LanguageCode;
	import sweezy.swf.structure.LineStyle;
	import sweezy.swf.structure.LineStyle2;
	import sweezy.swf.structure.Matrix;
	import sweezy.swf.structure.MorphFillStyle;
	import sweezy.swf.structure.MorphGradientRecord;
	import sweezy.swf.structure.MorphLineStyle;
	import sweezy.swf.structure.MorphLineStyle2;
	import sweezy.swf.structure.RGB;
	import sweezy.swf.structure.RGBA;
	import sweezy.swf.structure.Rect;
	import sweezy.swf.structure.Shape;
	import sweezy.swf.structure.ShapeWithStyle;
	import sweezy.swf.structure.SoundEnvelope;
	import sweezy.swf.structure.SoundInfo;
	import sweezy.swf.structure.StraightEdgeRecord;
	import sweezy.swf.structure.StyleChangeRecord;
	import sweezy.swf.structure.TextRecord;
	import sweezy.swf.structure.ZoneData;
	import sweezy.swf.structure.ZoneRecord;
	import sweezy.swf.tag.CSMTextSettings;
	import sweezy.swf.tag.DebugID;
	import sweezy.swf.tag.DefineBinaryData;
	import sweezy.swf.tag.DefineBits;
	import sweezy.swf.tag.DefineBitsJPEG2;
	import sweezy.swf.tag.DefineBitsJPEG3;
	import sweezy.swf.tag.DefineBitsJPEG4;
	import sweezy.swf.tag.DefineBitsLossless;
	import sweezy.swf.tag.DefineBitsLossless2;
	import sweezy.swf.tag.DefineButton;
	import sweezy.swf.tag.DefineButton2;
	import sweezy.swf.tag.DefineButtonCxform;
	import sweezy.swf.tag.DefineButtonSound;
	import sweezy.swf.tag.DefineEditText;
	import sweezy.swf.tag.DefineFont;
	import sweezy.swf.tag.DefineFont2;
	import sweezy.swf.tag.DefineFont3;
	import sweezy.swf.tag.DefineFont4;
	import sweezy.swf.tag.DefineFontAlignZones;
	import sweezy.swf.tag.DefineFontInfo;
	import sweezy.swf.tag.DefineFontInfo2;
	import sweezy.swf.tag.DefineFontName;
	import sweezy.swf.tag.DefineMorphShape;
	import sweezy.swf.tag.DefineMorphShape2;
	import sweezy.swf.tag.DefineScalingGrid;
	import sweezy.swf.tag.DefineSceneAndFrameLabelData;
	import sweezy.swf.tag.DefineShape;
	import sweezy.swf.tag.DefineShape2;
	import sweezy.swf.tag.DefineShape3;
	import sweezy.swf.tag.DefineShape4;
	import sweezy.swf.tag.DefineSound;
	import sweezy.swf.tag.DefineSprite;
	import sweezy.swf.tag.DefineText;
	import sweezy.swf.tag.DefineText2;
	import sweezy.swf.tag.DefineVideoStream;
	import sweezy.swf.tag.DoABC;
	import sweezy.swf.tag.DoABC2;
	import sweezy.swf.tag.DoAction;
	import sweezy.swf.tag.DoInitAction;
	import sweezy.swf.tag.EnableDebugger;
	import sweezy.swf.tag.EnableDebugger2;
	import sweezy.swf.tag.End;
	import sweezy.swf.tag.ExportAssets;
	import sweezy.swf.tag.FileAttributes;
	import sweezy.swf.tag.FrameLabel;
	import sweezy.swf.tag.ImportAssets;
	import sweezy.swf.tag.ImportAssets2;
	import sweezy.swf.tag.JPEGTables;
	import sweezy.swf.tag.Metadata;
	import sweezy.swf.tag.PlaceObject;
	import sweezy.swf.tag.PlaceObject2;
	import sweezy.swf.tag.PlaceObject3;
	import sweezy.swf.tag.ProductInfo;
	import sweezy.swf.tag.Protect;
	import sweezy.swf.tag.RemoveObject;
	import sweezy.swf.tag.RemoveObject2;
	import sweezy.swf.tag.ScriptLimits;
	import sweezy.swf.tag.SetBackgroundColor;
	import sweezy.swf.tag.SetTabIndex;
	import sweezy.swf.tag.ShowFrame;
	import sweezy.swf.tag.SoundStreamBlock;
	import sweezy.swf.tag.SoundStreamHead;
	import sweezy.swf.tag.SoundStreamHead2;
	import sweezy.swf.tag.StartSound;
	import sweezy.swf.tag.StartSound2;
	import sweezy.swf.tag.SymbolClass;
	import sweezy.swf.tag.UnknownTag;
	import sweezy.swf.tag.VideoFrame;

	public interface ISWFElementVisitor
	{

		function visitABCData(element:ABCData):void;
		
		function visitActionAdd(element:ActionAdd):void;

		function visitActionAdd2(element:ActionAdd2):void;

		function visitActionAnd(element:ActionAnd):void;

		function visitActionAsciiToChar(element:ActionAsciiToChar):void;

		function visitActionBitAnd(element:ActionBitAnd):void;

		function visitActionBitLShift(element:ActionBitLShift):void;

		function visitActionBitOr(element:ActionBitOr):void;

		function visitActionBitRShift(element:ActionBitRShift):void;

		function visitActionBitURShift(element:ActionBitURShift):void;

		function visitActionBitXor(element:ActionBitXor):void;

		function visitActionCall(element:ActionCall):void;

		function visitActionCallFunction(element:ActionCallFunction):void;

		function visitActionCallMethod(element:ActionCallMethod):void;

		function visitActionCastOp(element:ActionCastOp):void;

		function visitActionCharToAscii(element:ActionCharToAscii):void;

		function visitActionCloneSprite(element:ActionCloneSprite):void;

		function visitActionConstantPool(element:ActionConstantPool):void;

		function visitActionDecrement(element:ActionDecrement):void;

		function visitActionDefineFunction(element:ActionDefineFunction):void;

		function visitActionDefineFunction2(element:ActionDefineFunction2):void;

		function visitActionDefineLocal(element:ActionDefineLocal):void;

		function visitActionDefineLocal2(element:ActionDefineLocal2):void;

		function visitActionDelete(element:ActionDelete):void;

		function visitActionDelete2(element:ActionDelete2):void;

		function visitActionDivide(element:ActionDivide):void;

		function visitActionEndDrag(element:ActionEndDrag):void;

		function visitActionEnumerate(element:ActionEnumerate):void;

		function visitActionEnumerate2(element:ActionEnumerate2):void;

		function visitActionEquals(element:ActionEquals):void;

		function visitActionEquals2(element:ActionEquals2):void;

		function visitActionExtends(element:ActionExtends):void;

		function visitActionGetMember(element:ActionGetMember):void;

		function visitActionGetProperty(element:ActionGetProperty):void;

		function visitActionGetTime(element:ActionGetTime):void;

		function visitActionGetURL(element:ActionGetURL):void;

		function visitActionGetURL2(element:ActionGetURL2):void;

		function visitActionGetVariable(element:ActionGetVariable):void;

		function visitActionGoToLabel(element:ActionGoToLabel):void;

		function visitActionGotoFrame(element:ActionGotoFrame):void;

		function visitActionGotoFrame2(element:ActionGotoFrame2):void;

		function visitActionGreater(element:ActionGreater):void;

		function visitActionIf(element:ActionIf):void;

		function visitActionImplementsOp(element:ActionImplementsOp):void;

		function visitActionIncrement(element:ActionIncrement):void;

		function visitActionInitArray(element:ActionInitArray):void;

		function visitActionInitObject(element:ActionInitObject):void;

		function visitActionJump(element:ActionJump):void;

		function visitActionLess(element:ActionLess):void;

		function visitActionLess2(element:ActionLess2):void;

		function visitActionMBAsciiToChar(element:ActionMBAsciiToChar):void;

		function visitActionMBCharToAscii(element:ActionMBCharToAscii):void;

		function visitActionMBStringExtract(element:ActionMBStringExtract):void;

		function visitActionMBStringLength(element:ActionMBStringLength):void;

		function visitActionModulo(element:ActionModulo):void;

		function visitActionMultiply(element:ActionMultiply):void;

		function visitActionNewMethod(element:ActionNewMethod):void;

		function visitActionNewObject(element:ActionNewObject):void;

		function visitActionNextFrame(element:ActionNextFrame):void;

		function visitActionNot(element:ActionNot):void;

		function visitActionOr(element:ActionOr):void;

		function visitActionPlay(element:ActionPlay):void;

		function visitActionPop(element:ActionPop):void;

		function visitActionPreviousFrame(element:ActionPreviousFrame):void;

		function visitActionPush(element:ActionPush):void;

		function visitActionPushDuplicate(element:ActionPushDuplicate):void;

		function visitActionRandomNumber(element:ActionRandomNumber):void;

		function visitActionRecords(element:ActionRecords):void;

		function visitActionRemoveSprite(element:ActionRemoveSprite):void;

		function visitActionReturn(element:ActionReturn):void;

		function visitActionSetMember(element:ActionSetMember):void;

		function visitActionSetProperty(element:ActionSetProperty):void;

		function visitActionSetTarget(element:ActionSetTarget):void;

		function visitActionSetTarget2(element:ActionSetTarget2):void;

		function visitActionSetVariable(element:ActionSetVariable):void;

		function visitActionStackSwap(element:ActionStackSwap):void;

		function visitActionStartDrag(element:ActionStartDrag):void;

		function visitActionStop(element:ActionStop):void;

		function visitActionStopSounds(element:ActionStopSounds):void;

		function visitActionStoreRegister(element:ActionStoreRegister):void;

		function visitActionStrictEquals(element:ActionStrictEquals):void;

		function visitActionStringAdd(element:ActionStringAdd):void;

		function visitActionStringEquals(element:ActionStringEquals):void;

		function visitActionStringExtract(element:ActionStringExtract):void;

		function visitActionStringGreater(element:ActionStringGreater):void;

		function visitActionStringLength(element:ActionStringLength):void;

		function visitActionStringLess(element:ActionStringLess):void;

		function visitActionSubtract(element:ActionSubtract):void;

		function visitActionTargetPath(element:ActionTargetPath):void;

		function visitActionThrow(element:ActionThrow):void;

		function visitActionToInteger(element:ActionToInteger):void;

		function visitActionToNumber(element:ActionToNumber):void;

		function visitActionToString(element:ActionToString):void;

		function visitActionToggleQuality(element:ActionToggleQuality):void;

		function visitActionTrace(element:ActionTrace):void;

		function visitActionTry(element:ActionTry):void;

		function visitActionTypeOf(element:ActionTypeOf):void;

		function visitActionUnknown(element:ActionUnknown):void;

		function visitActionWaitForFrame(element:ActionWaitForFrame):void;

		function visitActionWaitForFrame2(element:ActionWaitForFrame2):void;

		function visitActionWith(element:ActionWith):void;

		function visitAlphaBitmapData(element:AlphaBitmapData):void;

		function visitAlphaColorMapData(element:AlphaColorMapData):void;

		function visitBevelFilter(element:BevelFilter):void;

		function visitBitmapData15(element:BitmapData15):void;

		function visitBitmapData24(element:BitmapData24):void;

		function visitBlurFilter(element:BlurFilter):void;

		function visitButtonCondAction(element:ButtonCondAction):void;

		function visitButtonRecord(element:ButtonRecord):void;

		function visitCSMTextSettings(element:CSMTextSettings):void;

		function visitCXForm(element:CXForm):void;

		function visitCXFormWithAlpha(element:CXFormWithAlpha):void;

		function visitClipActionRecord(element:ClipActionRecord):void;

		function visitClipActions(element:ClipActions):void;

		function visitClipEventFlags(element:ClipEventFlags):void;

		function visitColorMapData(element:ColorMapData):void;

		function visitColorMatrixFilter(element:ColorMatrixFilter):void;

		function visitConvolutionFilter(element:ConvolutionFilter):void;

		function visitCurvedEdgeRecord(element:CurvedEdgeRecord):void;

		function visitDebugID(element:DebugID):void;

		function visitDefineBinaryData(element:DefineBinaryData):void;

		function visitDefineBits(element:DefineBits):void;

		function visitDefineBitsJPEG2(element:DefineBitsJPEG2):void;

		function visitDefineBitsJPEG3(element:DefineBitsJPEG3):void;

		function visitDefineBitsJPEG4(element:DefineBitsJPEG4):void;

		function visitDefineBitsLossless(element:DefineBitsLossless):void;

		function visitDefineBitsLossless2(element:DefineBitsLossless2):void;

		function visitDefineButton(element:DefineButton):void;

		function visitDefineButton2(element:DefineButton2):void;

		function visitDefineButtonCxform(element:DefineButtonCxform):void;

		function visitDefineButtonSound(element:DefineButtonSound):void;

		function visitDefineEditText(element:DefineEditText):void;

		function visitDefineFont(element:DefineFont):void;

		function visitDefineFont2(element:DefineFont2):void;

		function visitDefineFont3(element:DefineFont3):void;

		function visitDefineFont4(element:DefineFont4):void;

		function visitDefineFontAlignZones(element:DefineFontAlignZones):void;

		function visitDefineFontInfo(element:DefineFontInfo):void;

		function visitDefineFontInfo2(element:DefineFontInfo2):void;

		function visitDefineFontName(element:DefineFontName):void;

		function visitDefineMorphShape(element:DefineMorphShape):void;

		function visitDefineMorphShape2(element:DefineMorphShape2):void;

		function visitDefineScalingGrid(element:DefineScalingGrid):void;

		function visitDefineSceneAndFrameLabelData(element:DefineSceneAndFrameLabelData):void;

		function visitDefineShape(element:DefineShape):void;

		function visitDefineShape2(element:DefineShape2):void;

		function visitDefineShape3(element:DefineShape3):void;

		function visitDefineShape4(element:DefineShape4):void;

		function visitDefineSound(element:DefineSound):void;

		function visitDefineSprite(element:DefineSprite):void;

		function visitDefineText(element:DefineText):void;

		function visitDefineText2(element:DefineText2):void;

		function visitDefineVideoStream(element:DefineVideoStream):void;

		function visitDoABC(element:DoABC):void;

		function visitDoABC2(element:DoABC2):void;

		function visitDoAction(element:DoAction):void;

		function visitDoInitAction(element:DoInitAction):void;

		function visitDropShadowFilter(element:DropShadowFilter):void;

		function visitEnableDebugger(element:EnableDebugger):void;

		function visitEnableDebugger2(element:EnableDebugger2):void;

		function visitEnd(element:End):void;

		function visitEndShapeRecord(element:EndShapeRecord):void;

		function visitExportAssets(element:ExportAssets):void;

		function visitFileAttributes(element:FileAttributes):void;

		function visitFillStyle(element:FillStyle):void;

		function visitFocalGradient(element:FocalGradient):void;

		function visitFrameLabel(element:FrameLabel):void;

		function visitGlowFilter(element:GlowFilter):void;

		function visitGlyphEntry(element:GlyphEntry):void;

		function visitGradient(element:Gradient):void;

		function visitGradientBevelFilter(element:GradientBevelFilter):void;

		function visitGradientGlowFilter(element:GradientGlowFilter):void;

		function visitGradientRecord(element:GradientRecord):void;

		function visitHeader(element:Header):void;

		function visitImportAssets(element:ImportAssets):void;

		function visitImportAssets2(element:ImportAssets2):void;

		function visitJPEGTables(element:JPEGTables):void;

		function visitKerningRecord(element:KerningRecord):void;

		function visitLanguageCode(element:LanguageCode):void;

		function visitLineStyle(element:LineStyle):void;

		function visitLineStyle2(element:LineStyle2):void;

		function visitMatrix(element:Matrix):void;

		function visitMetadata(element:Metadata):void;

		function visitMorphFillStyle(element:MorphFillStyle):void;

		function visitMorphGradientRecord(element:MorphGradientRecord):void;

		function visitMorphLineStyle(element:MorphLineStyle):void;

		function visitMorphLineStyle2(element:MorphLineStyle2):void;

		function visitPlaceObject(element:PlaceObject):void;

		function visitPlaceObject2(element:PlaceObject2):void;

		function visitPlaceObject3(element:PlaceObject3):void;

		function visitProductInfo(element:ProductInfo):void;

		function visitProtect(element:Protect):void;

		function visitRGB(element:RGB):void;

		function visitRGBA(element:RGBA):void;

		function visitRect(element:Rect):void;

		function visitRemoveObject(element:RemoveObject):void;

		function visitRemoveObject2(element:RemoveObject2):void;

		function visitSWF(element:SWF):void;

		function visitScriptLimits(element:ScriptLimits):void;

		function visitSetBackgroundColor(element:SetBackgroundColor):void;

		function visitSetTabIndex(element:SetTabIndex):void;

		function visitShape(element:Shape):void;

		function visitShapeWithStyle(element:ShapeWithStyle):void;

		function visitShowFrame(element:ShowFrame):void;

		function visitSoundEnvelope(element:SoundEnvelope):void;

		function visitSoundInfo(element:SoundInfo):void;

		function visitSoundStreamBlock(element:SoundStreamBlock):void;

		function visitSoundStreamHead(element:SoundStreamHead):void;

		function visitSoundStreamHead2(element:SoundStreamHead2):void;

		function visitStartSound(element:StartSound):void;

		function visitStartSound2(element:StartSound2):void;

		function visitStraightEdgeRecord(element:StraightEdgeRecord):void;

		function visitStyleChangeRecord(element:StyleChangeRecord):void;

		function visitSymbolClass(element:SymbolClass):void;

		function visitTextRecord(element:TextRecord):void;

		function visitUnknownTag(element:UnknownTag):void;

		function visitVideoFrame(element:VideoFrame):void;

		function visitZoneData(element:ZoneData):void;

		function visitZoneRecord(element:ZoneRecord):void;
	}
}
